home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
pc
/
LOGIC Apple II 5.25" Library - DOS Part 3
/
DOS066.dsk
/
LIFE EXPECTANCY.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
10KB
|
203 lines
10 HOME : PRINT " < < LIFETIME > >"
15 PRINT : REM WRITTEN BY T. LUKAS 4/2/77
20 PRINT "THIS PROGRAM DETERMINES YOUR LIFE": PRINT "EXPECTANCY. DO YOU WANT INFORMATION";
40 INPUT A$
50 IF LEFT$(A$,1) = "N" THEN 130
55 PRINT
60 PRINT "THE FOLLOWING, THOUGH NOT VALIDATED,": PRINT "IS BASED ON THE BEST SCIENTIFIC EVEDENCE"
70 PRINT "AVAILABLE TODAY. WHILE SCIENTISTS STILL": PRINT "DON'T KNOW ALL OF THE VARIABLES CAUSING"
90 PRINT "LONG LIFE, THEY ARE AWARE OF SOME OF THE": PRINT "PHENOMENA THAT SEEM TO BE CORRELATED"
110 PRINT "WITH LONGEVITY. THIS PROGRAM IS BASED": PRINT "ON THAT DATA AND STARTS WITH PEOPLE"
120 PRINT "AT LEAST 20 YEARS OLD.": PRINT
130 DIM BA(101)
140 PRINT : PRINT "WHAT IS YOUR AGE IN YEARS ";
150 INPUT AY
160 IF AY <20 THEN PRINT "SORRY, YOU MUST BE AT LEAST 20 YEARS OLD": END
170 PRINT : PRINT "WHAT IS YOUR SEX ";
180 INPUT S$
190 FOR I = 0 TO 101: READ BA(I): NEXT I
220 C = AY -20
230 IF LEFT$(S$,1) = "F" THEN C = C +51
240 DATA 69.9,70.0,70.1,70.2,70.3,70.4,70.5,70.6,70.7,70.8
250 DATA 70.9,70.9,71.0,71.1,71.2,71.3,71.4,71.5,71.6,71.7
260 DATA 71.8,71.9,72.0,72.2,72.3,72.5,72.6,72.8,73.0,73.2
270 DATA 73.4,73.6,73.8,74.1,74.3,74.6,74.9,75.2,75.5,75.8
280 DATA 76.2,76.5,76.9,77.3,77.7,78.1,78.6,79.0,79.5,79.9
290 DATA 80.4,77.0,77.0,77.1,77.1,77.2,77.2,77.3,77.3,77.4
300 DATA 77.4,77.5,77.5,77.5,77.6,77.6,77.7,77.8,77.8,77.9
310 DATA 78.0,78.0,78.1,78.2,78.3,78.4,78.5,78.6,78.7,78.9
320 DATA 79.0,79.1,79.3,79.4,79.6,79.7,79.9,80.1,80.3,80.5
330 DATA 80.7,80.9,81.2,81.4,81.6,81.9,82.2,82.4,82.7,83.0
340 DATA 83.3,83.6
350 PRINT : PRINT "YOUR BASE LIFE EXPECTANCY IS": PRINT BA(C)
360 PRINT :T = BA(C)
370 GOSUB 3000
380 PRINT "PART I HEREDITY"
390 GOSUB 3000
400 PRINT : PRINT "DID AT LEAST TWO OF YOUR GRANDPARENTS": PRINT "LIVE TO AGE 80 OR MORE ";
420 INPUT A$
430 IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"+0=";T: GOTO 460
440 PRINT TAB( 10);T;"+2=";T +2
450 T = T +2
460 PRINT
470 PRINT "WHAT IS/WAS YOUR MOTHER'S AGE ";
480 INPUT A
490 IF A <80 THEN PRINT TAB( 10);T;"+0=";T: GOTO 510
500 PRINT TAB( 10);T;"+1.5=";T +1.5:T = T +1.5
510 PRINT
520 PRINT "WHAT IS WAS YOUR FATHER'S AGE ";
530 INPUT A
540 IF A <80 THEN PRINT TAB( 10);T;"+0=";T: GOTO 560
550 PRINT TAB( 10);T;"+2=";T +2:T = T +2
560 PRINT
570 PRINT "DID ANY OF YOUR GRANDPARENTS, PARENTS,": PRINT "BROTHERS OR SISTERS DIE OF HEART"
580 PRINT "ATTACK OR STROKE BEFORE AGE 50 ";
600 INPUT A$
610 IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"-0=";T: GOTO 640
620 PRINT TAB( 10);T;"-4=";T -4
630 T = T -4
640 PRINT
650 PRINT "DID ANY OF THE ABOVE DIE OR HEART ATTACK": PRINT "OR STROKE BEFORE AGE 60 ";
670 INPUT A$
680 IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"-0=";T: GOTO 710
690 PRINT TAB( 10);T;"-2=";T -2:T = T -2
710 PRINT
720 PRINT "WHAT IS THE TOTAL NUMBER OF INCIDENCES": PRINT "OF DIABETES, THYROID DISORDER, BREAST"
730 PRINT "CANCER (WOMEN), DIGESTIVE SYSTEM CANCER": PRINT "ASTHMA, EMPHYSEMA AND/OR CHRONIC"
740 PRINT "BRONCHITIS FOUND IN YOUR PARENTS AND": PRINT "GRANDPARENTS ";
760 INPUT A
770 PRINT TAB( 10);T;"-3 X";A;" =";T -3 *A
780 T = T -3 *A: PRINT
790 GOSUB 3000
800 PRINT "PART II HEALTH AND DIET"
810 GOSUB 3000
820 PRINT
830 PRINT "HOW MANY POUNDS OVERWEIGHT ARE YOU ";: INPUT A
850 IF A = 0 THEN B = 0: GOTO 870
860 B = A/10
870 PRINT TAB( 10);T;"-";B;" =";T -B:T = T -B: PRINT
900 PRINT "HOW MANY PACKS OF CIGARETS DO YOU SMOKE": PRINT "A DAY ";: INPUT A
920 IF A = 0 THEN B = 0: GOTO 1000
930 IF A <1 THEN B = 2: GOTO 1000
940 IF A = 1 THEN B = 4: GOTO 1000
950 IF A <1.5 THEN B = 5.5: GOTO 1000
960 IF A <2 THEN B = 7: GOTO 1000
970 IF A = 2 THEN B = 8: GOTO 1000
980 IF A <3 THEN B = 10: GOTO 1000
990 IF A = >4 THEN B = 12: GOTO 1000
1000 PRINT TAB( 10);T;"-";B;" =";T -B:T = T -B: PRINT
1030 PRINT "HOW MANY DRINKS DO YOU HAVE EACH DAY ";: INPUT A
1050 IF A = 0 THEN PRINT TAB;T;"-1=";T -1:T = T -1: GOTO 1080
1060 IF A < = 2 THEN PRINT TAB( 10);T;"+3=";T +3:T = T +3: GOTO 1080
1070 IF A >2 THEN PRINT TAB( 10);T;"-8=";T -8:T = T -8: GOTO 1080
1080 PRINT :E$ = "DO YOU WANT AN EXPLANATION OF THIS": PRINT E$
1090 INPUT A$
1100 IF LEFT$(A$,1) = "N" THEN 1170
1110 PRINT : PRINT "MODERATE DRINKING (UP TO TWO DRINKS PER": PRINT "DAY) REDUCES STRESS AND AIDS DIGESTION."
1120 PRINT "HEAVY DRINKING, HOWEVER, PRODUCES": PRINT "PHYSIOLOGICAL DAMAGE. AS FOR TEETOTALER"
1130 PRINT "THEY MAY HAVE RATHER RIGID VALUE SYSTEMS": PRINT "AND MAY UNDERGO STRESS IN MAINTAINING": PRINT "THEM."
1170 PRINT
1180 PRINT "DO YOU EXERSISE MODERATELY--JOG, BIKE": PRINT "RIDE, TAKE LONG WALKS, SWIM--AT LEAST"
1190 PRINT "2 OR 3 TIMES A WEEK ";: INPUT A$
1210 IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"+0=";T: GOTO 1230
1220 PRINT TAB( 10);T;"+3=";T +3:T = T +3
1230 PRINT : PRINT "HOW MANY HOURS DO YOU SLEEP EACH DAY ";: INPUT A
1260 IF A <9 THEN PRINT TAB( 10);T;"-0=";T: GOTO 1290
1270 IF A = 9 THEN PRINT TAB( 10);T;"-4=";T -4:T = T -4: GOTO 1290
1280 IF A = >10 THEN PRINT TAB( 10);T;"-6=";T -6:T = T -6
1290 PRINT : PRINT E$
1300 INPUT A$: IF LEFT$(A$,1) = "N" THEN 1360
1315 PRINT : PRINT "ADULTS THAT SLEEP TOO MUCH US TOO MANY": PRINT "HOURS IN NONPHYSICAL ACTIVITY AND MAY"
1320 PRINT "BE UNHAPPY AND SLEEP AS AN ESCAPE OR": PRINT "MAY BE ILL. DEPRESSED PEOPLE HAVE"
1330 PRINT "SHORTER LIFE EXPECTANCIES."
1360 PRINT
1370 IF LEFT$(S$,1) = "F" AND AY < = 30 OR LEFT$(S$,1) = "M" AND AY < = 40 THEN 1490
1380 IF LEFT$(S$,1) = "M" THEN 1440
1390 PRINT "DO YOU HAVE A BREAST EXAMINATION AND PAP": PRINT "SMEAR AT LEAST ONCE A YEAR ";
1400 INPUT A$: IF LEFT$(A$,1) = "N" THEN PRINT T
1415 PRINT TAB( 10);T;"+2=";T +2:T = T +2: PRINT
1420 GOTO 1490
1440 PRINT "DO YOU HAVE A PHYSICAL AND PR0CTOSCOPIC": PRINT "EXAMINATION AT LEAST ONCE A YEAR ";
1450 INPUT A$: IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"+0=";T: GOTO 1480
1470 PRINT TAB( 10);T;"+2=";T +2:T = T +2
1480 PRINT
1490 GOSUB 3000
1500 PRINT "PART III EDUCATION AND OCCUPATION": GOSUB 3000
1520 PRINT : PRINT "STARTING FROM THE FIRST GRADE, WHAT ARE": PRINT "THE TOTAL NUMBER OF YEARS YOU ATTENDED": PRINT "SCHOOL ";
1550 INPUT A
1560 IF A <12 THEN PRINT TAB( 10);T;"-2=";T -2:T = T -2: GOTO 1600
1570 IF A <14 THEN PRINT TAB( 10);T;"+0=";T: GOTO 1600
1580 IF A <17 THEN PRINT TAB( 10);T;"+1=";T +1:T = T +1: GOTO 1600
1590 IF A = >17 THEN PRINT TAB( 10);T;"+3=";T +3:T = T +3
1600 PRINT : PRINT E$
1610 INPUT A$: IF LEFT$(A$,1) = "N" THEN 1650
1625 PRINT : PRINT "ALTHOUGH ATTENDING SHOOL DOES NOT MAKE": PRINT "YOU LIVE LONGER, MORE EDUCATION"
1630 PRINT "CORRELATES WITH INCREASED INCOME, AND": PRINT "ACCESS TO BETTER HEALTH CARE."
1650 PRINT : PRINT "IS YOUR OCCUPATION CLASSIFIED AS PROFESSIONAL ";: INPUT A$
1680 IF LEFT$(A$,1) = "N" THEN 1730
1690 PRINT "ARE YOU A MUSICAN, ARCHITECT OR": PRINT "PHARMACIST ";: INPUT A$
1710 IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"+2=";T +2:T = T +2: GOTO 1780
1720 PRINT TAB( 10);T;"-1=";T -1:T = T -1: GOTO 1780
1730 PRINT "DO YOU WORK IN RUGGED HEAVY WORK OR AS": PRINT "A COOK, CHEF, OR BAKER ";: INPUT A$
1750 IF LEFT$(A$,1) = "N" THEN 1770
1760 PRINT TAB( 10);T;"-2=";T -2:T = T -2: GOTO 1780
1770 PRINT TAB( 10);T;"+0=";T
1780 PRINT : PRINT E$
1790 INPUT A$: IF LEFT$(A$,1) = "N" THEN 1880
1810 PRINT : PRINT "PROFESSIONALS USUALLY LIVE LONGER EXCEPT": PRINT "MUSICIANS, ARCHITECTS AND PHARMACISTS."
1820 PRINT "WHY THIS IS TRUE IS UNKNOWN AT THE": PRINT "PRESENT TIME. YOU HAVE A GREATER CHANCE"
1830 PRINT "OF BEING INVOLVED IN A ACCIDENT IF YOU": PRINT "WORK AT RUGGED HEAVY LABOR. PEOPLE"
1840 PRINT "WHO WORK AT JOBS ASSOCIATED WITH OVER-": PRINT "EATING ALSO HAVE A LOWER LIFE SPAN.": PRINT
1880 PRINT : PRINT "IS YOUR ANNUAL INCOME OVER $40,000 ";
1900 INPUT A$
2000 IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"-0="T: GOTO 2020
2010 PRINT TAB( 10);T;"-2=";T -2:T = T -2
2020 PRINT : PRINT E$
2030 INPUT A$: IF LEFT$(A$,1) = "N" THEN 2070
2045 PRINT : PRINT "PEOPLE WITH HIGHER INCOMES USUALLY": PRINT "EXPERIENCE MORE STRESS EARNING THEM AND"
2060 PRINT "CONSUME MORE RICH FOOD."
2070 PRINT
2080 PRINT "IS YOUR JOB ACTIVE OR SEDENTARY ";: INPUT A$
2100 IF LEFT$(A$,1) = "A" THEN PRINT TAB( 10);T;"+3=";T +3:T = T +3: GOTO 2120
2110 PRINT TAB( 10);T;"-3=";T -3:T = T -3: PRINT
2120 PRINT
2130 IF AY <61 GOTO 2180
2140 PRINT "ARE YOU STILL WORKIN G ";: INPUT A$
2150 IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"+0=";T: GOTO 2170
2160 PRINT TAB( 10);T;"+2=";T +2:T = T +2
2170 PRINT
2180 GOSUB 3000
2190 PRINT "PART IV LIFESTYLE"
2200 GOSUB 3000
2210 PRINT : PRINT "DO YOU LIVE IN A RURAL OR AN URBAN AREA";: INPUT A$
2240 IF LEFT$(A$,1) = "R" THEN PRINT TAB( 10);T;"+1=";T +1:T = T +1: GOTO 2260
2250 PRINT TAB( 10);T;"-1=";T -1:T = T -1
2260 PRINT : PRINT "ARE YOU MARRIED OR LIVING WITH SOMEONE": PRINT "ON A PERMANENT BASIS ";: INPUT A$
2300 IF LEFT$(A$,1) = "Y" THEN PRINT TAB( 10);T;"+3=";T +3:T = T +3: GOTO 2360
2310 A = AY -25: IF A < = 0 THEN A = 0: GOTO 2350
2320 PRINT "HOW MANY OF THE PAST ";A;" YE
2340 A = A/10
2350 PRINT TAB( 10);T;"-";A;"=";T -A:T = T -A
2360 PRINT : PRINT "ON A SCALE OF 0 TO 3, HOW MUCH OF A": PRINT "CALM PASSIVE PERSON ARE YOU": PRINT "(3 IS THE MOST CALM)";
2390 INPUT A: PRINT TAB( 10);T;"+";A;"=";T +A:T = T +A: PRINT
2420 PRINT "ON A SCALE OF 0 TO 5, HOW MUCH OF AN": PRINT "AGGRESSIVE, INTENSE AND COMPETITIVE "
2430 PRINT "PERSON ARE YOU (5 IS THE MOST AGGRESSIVE": PRINT "INTENSE AND/OR COMPETITIVE.)"
2450 INPUT A
2460 PRINT TAB( 10);T;"-";A;"=";T -A:T = T -A: PRINT
2480 PRINT "DO YOU USE YOUR CAR'S SEAT BELTS AND": PRINT "FOLLOW SPEED LIMITS REGULARLY ";: INPUT A$
2510 IF LEFT$(A$,1) = "N" THEN PRINT TAB( 10);T;"+0=";T: GOTO 2530
2520 PRINT TAB( 10);T;"+1=";T +1:T = T +1
2530 PRINT : PRINT "ON THE FOLLOWING SCALE HOW WOULD YOU": PRINT "RATE YOURSELF?"
2545 PRINT
2550 PRINT " HAPPY: 3 2 1 0 -1 -2 -3 UNHAPPY"
2560 PRINT TAB( 12);
2570 INPUT A
2580 IF A = >0 THEN PRINT TAB( 10);T;"+";A;"=";T +A:T = T +A: GOTO 2600
2590 PRINT TAB( 10);T;"+";A;"=";T +A:T = T +A
2600 PRINT : PRINT
2610 GOSUB 3000
2620 PRINT " YOUR LIFE EXPECTANCY IS ";T;" YEARS"
2630 GOSUB 3000
2640 PRINT : PRINT : PRINT
2999 STOP
3000 FOR X = 1 TO 40: PRINT "-";: NEXT X: RETURN